草庐IT

java - 我的类不是 servlet 错误

全部标签

ruby-on-rails - 使用机架中间件捕获无效的 JSON 解析错误

我正在使用Rails5,我正在尝试改进对我的API的无效JSON请求的错误处理。我尝试通过救援在Controller中解析来处理无效格式的JSON,但意识到如果用户将ContentType添加到他们的请求header,Rails中间件会在我的JSON请求到达Controller之前解析它。我遵循了以下指南:https://robots.thoughtbot.com/catching-json-parse-errors-with-custom-middleware但是,在启动服务器时出现以下错误:.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems

ruby-on-rails - 将 Rails/ClearDB App 推送到 Heroku 错误 'Can' t 连接到 '127.0.0.1' 上的 MySQL 服务器

每次我跑:gitpushherokumaster我收到以下错误:Running:rakeassets:precompilerakeaborted!Can'tconnecttoMySQLserveron'127.0.0.1'我在运行rails-vRails3.2.11和ruby-vruby1.9.3p194(2012-04-20revision35410)[x86_64-darwin12.2.0]我已经通过HerokuCLI安装了ClearDB,它似乎工作正常,但我无法找出这个错误。这是我用于生产的yml:production:adapter:mysql2encoding:utf8hos

Ruby 增量 (+=) 引发错误 undefined method '+' for nil :NilClass

以下代码导致了我的问题:classFoodefinitialize(n=0)@n=nendattr_accessor:ndefincn+=1endend调用Foo.new.inc引发NoMethodError:undefinedmethod'+'fornil:NilClass调用Foo.new.n返回0为什么Foo.new.inc会引发错误?我可以毫无问题地执行Foo.new.n+=1。 最佳答案 tldr;某种形式的self.n=x必须始终用于分配给setter。考虑n+=x扩展为n=n+x其中n被绑定(bind)为局部变量因为它

ruby-on-rails - Rails 没有使用我的全局 Ruby 版本

我想将Rails与Ruby2.1.0结合使用,但它使用的是Ruby1.9.3(系统版本)。我正在使用rbenv管理我的Ruby版本。我的步骤是这样的:$rbenvinstall2.1.0$rbenvglobal2.1.0$sudogeminstallrails-v4.0.2$rbenvrehash$rbenvversionssystem*2.1.0(setby/home/dennis/.rbenv/version)$ruby-vruby2.1.0p0(2013-12-25revision44422)[x86_64-linux]$railsnewapp&&cdapp$railsserve

ruby-on-rails - 运行时出现段错误 'rails s'

完成捆绑安装后,我运行“railss”时遇到了这个错误。$railss/Users/XXXX/.rvm/gems/ruby-1.8.7-p352@r3/gems/json-1.5.3/ext/json/ext/json/ext/parser.bundle:[BUG]Segmentationfaultruby1.8.7(2011-06-30patchlevel352)[i686-darwin10.8.0]Aborttrap任何帮助将不胜感激 最佳答案 rvmgemset为空rvm使用ree@my-gemsetgem安装bundler捆

ruby - 如果它们不是真正的并行,我能给 Ruby 线程什么用?

当我第一次发现线程时,我尝试通过在多个线程中调用sleep来检查它们是否确实按预期工作,而不是正常调用sleep。它奏效了,我很高兴。但后来我的一个friend告诉我,这些线程并不是真正平行的,sleep一定是假装的。所以现在我写了这个测试来做一些真正的处理:classTestITERATIONS=1000defrun_threadsstart=Time.nowt1=Thread.newdodo_iterationsendt2=Thread.newdodo_iterationsendt3=Thread.newdodo_iterationsendt4=Thread.newdodo_ite

ruby-on-rails - 为什么 Rails 服务器会出现 "Could not find ' railties 错误?

当我使用railss启动Rails服务器时,出现以下错误:/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:296:in`to_specs':Couldnotfind'railties'(>=0)among10totalgem(s)(Gem::LoadError)from/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:307:in`to_spec'from/usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_gem.rb:4

ruby-on-rails - 我的 Rails 4 应用程序上的每个 link_to 都被调用了两次

我的Rails4应用程序遇到一些异常行为。每次我单击View中的link_to时,我的Controller操作都会被调用两次。例如:在我的root_url中,我对users_profile有这个标准调用:"logout-button")%>当我单击此链接时,我的控制台显示以下输出:StartedGET"/users/profile"for127.0.0.1at2013-11-2520:45:53-0200ProcessingbyUsers::SessionsController#profileasHTMLUserLoad(0.7ms)SELECT"users".*FROM"users"

ruby-on-rails - 在什么情况下我应该使用实例变量而不是其他变量类型?

我正在使用RubyonRails3,我想知道在什么情况下我应该使用实例变量而不是其他变量类型,以及这些变量是否有安全原因。例子:#Usinganinstancevariable@accounts=Account.find(...)#Usinga"local"\"normal"variableaccount=Account.find(...) 最佳答案 一般来说,实例变量是局部的,并且持久存在于对象的实例中,而局部变量只是局部的,并且持久存在于函数/对象/block范围内。例如:classUserdefname@nameenddefn

ruby-on-rails - 如何在我的模型中针对项目数组使用命名范围?

我知道我可以基于数组查询最近的书籍范围:recent_books,lambda{|since_dt|{:conditions=>{:created_at>=since_dt}}}但是当我有一组项目时,我该如何做一个类似的查询,例如如果我想知道是否有任何记录与[date1、date2、date3等]数组中的日期匹配我认为必须有一个collect/inject/select/mapy方法可以做到这一点,但我不确定是哪个方法。 最佳答案 如果您传递一个数组作为值,ActiveRecord足够智能,可以比较是否包含在数组中。例如,Book.